Micron Document
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
| SparkN0de-git | SparkN0de |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Node / ReticulumProjects / NomadNet.git / files / nomadnet / ui / textui / MicronParser.py

Displaying Raw • Download


nomadnet/ui/textui/MicronParser.py 0.0.6 (e068bba8) Text, 9.40 KB

Tff7b72import T7ee787nomadnet
Tff7b72import T7ee787urwid
Tff7b72import T7ee787re

Te6edf3STYLES Tff7b72= Tb4b4b4{
Ta5d6ff"Ta5d6ffplainTa5d6ff"Tb4b4b4: Tb4b4b4{ Ta5d6ff"Ta5d6fffgTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ffbbbTa5d6ff"Tb4b4b4, Ta5d6ff"Ta5d6ffbgTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ffdefaultTa5d6ff"Tb4b4b4, Ta5d6ff"Ta5d6ffboldTa5d6ff"Tb4b4b4: Tff7b72FalseTb4b4b4, Ta5d6ff"Ta5d6ffunderlineTa5d6ff"Tb4b4b4: Tff7b72FalseTb4b4b4, Ta5d6ff"Ta5d6ffitalicTa5d6ff"Tb4b4b4: Tff7b72False Tb4b4b4}Tb4b4b4,
Ta5d6ff"Ta5d6ffheading1Ta5d6ff"Tb4b4b4: Tb4b4b4{ Ta5d6ff"Ta5d6fffgTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ff222Ta5d6ff"Tb4b4b4, Ta5d6ff"Ta5d6ffbgTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ffbbbTa5d6ff"Tb4b4b4, Ta5d6ff"Ta5d6ffboldTa5d6ff"Tb4b4b4: Tff7b72FalseTb4b4b4, Ta5d6ff"Ta5d6ffunderlineTa5d6ff"Tb4b4b4: Tff7b72FalseTb4b4b4, Ta5d6ff"Ta5d6ffitalicTa5d6ff"Tb4b4b4: Tff7b72False Tb4b4b4}Tb4b4b4,
Ta5d6ff"Ta5d6ffheading2Ta5d6ff"Tb4b4b4: Tb4b4b4{ Ta5d6ff"Ta5d6fffgTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ff111Ta5d6ff"Tb4b4b4, Ta5d6ff"Ta5d6ffbgTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ff999Ta5d6ff"Tb4b4b4, Ta5d6ff"Ta5d6ffboldTa5d6ff"Tb4b4b4: Tff7b72FalseTb4b4b4, Ta5d6ff"Ta5d6ffunderlineTa5d6ff"Tb4b4b4: Tff7b72FalseTb4b4b4, Ta5d6ff"Ta5d6ffitalicTa5d6ff"Tb4b4b4: Tff7b72False Tb4b4b4}Tb4b4b4,
Ta5d6ff"Ta5d6ffheading3Ta5d6ff"Tb4b4b4: Tb4b4b4{ Ta5d6ff"Ta5d6fffgTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ff000Ta5d6ff"Tb4b4b4, Ta5d6ff"Ta5d6ffbgTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ff777Ta5d6ff"Tb4b4b4, Ta5d6ff"Ta5d6ffboldTa5d6ff"Tb4b4b4: Tff7b72FalseTb4b4b4, Ta5d6ff"Ta5d6ffunderlineTa5d6ff"Tb4b4b4: Tff7b72FalseTb4b4b4, Ta5d6ff"Ta5d6ffitalicTa5d6ff"Tb4b4b4: Tff7b72False Tb4b4b4}Tb4b4b4,
Tb4b4b4}

Te6edf3SYNTH_STYLES Tff7b72= Tb4b4b4[Tb4b4b4]

Te6edf3SECTION_INDENT Tff7b72= T79c0ff2
Te6edf3INDENT_RIGHT Tff7b72= T79c0ff1

Tff7b72def Td2a8ffmarkup_to_attrmapsTb4b4b4(Te6edf3markupTb4b4b4)Tb4b4b4:
Te6edf3attrmaps Tff7b72= Tb4b4b4[Tb4b4b4]

Te6edf3state Tff7b72= Tb4b4b4{
Ta5d6ff"Ta5d6ffliteralTa5d6ff"Tb4b4b4: Tff7b72FalseTb4b4b4,
Ta5d6ff"Ta5d6ffdepthTa5d6ff"Tb4b4b4: T79c0ff0Tb4b4b4,
Ta5d6ff"Ta5d6fffg_colorTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ffdefaultTa5d6ff"Tb4b4b4,
Ta5d6ff"Ta5d6ffbg_colorTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ffdefaultTa5d6ff"Tb4b4b4,
Ta5d6ff"Ta5d6ffformattingTa5d6ff"Tb4b4b4: Tb4b4b4{
Ta5d6ff"Ta5d6ffboldTa5d6ff"Tb4b4b4: Tff7b72FalseTb4b4b4,
Ta5d6ff"Ta5d6ffunderlineTa5d6ff"Tb4b4b4: Tff7b72FalseTb4b4b4,
Ta5d6ff"Ta5d6ffitalicTa5d6ff"Tb4b4b4: Tff7b72FalseTb4b4b4,
Ta5d6ff"Ta5d6ffstrikethroughTa5d6ff"Tb4b4b4: Tff7b72FalseTb4b4b4,
Ta5d6ff"Ta5d6ffblinkTa5d6ff"Tb4b4b4: Tff7b72FalseTb4b4b4,
Tb4b4b4}Tb4b4b4,
Ta5d6ff"Ta5d6ffdefault_alignTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ffleftTa5d6ff"Tb4b4b4,
Ta5d6ff"Ta5d6ffalignTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ffleftTa5d6ff"Tb4b4b4,
Tb4b4b4}

T8b949e# Split entire document into lines for
T8b949e# processing.
Te6edf3lines Tff7b72= Te6edf3markupTff7b72.Td2a8ffsplitTb4b4b4(Ta5d6ff"Tffea00\nTa5d6ff"Tb4b4b4)Tb4b4b4;

Tff7b72for Te6edf3line Tff7b72in Te6edf3linesTb4b4b4:
Tff7b72if Tffa657lenTb4b4b4(Te6edf3lineTb4b4b4) Tff7b72> T79c0ff0Tb4b4b4:
Te6edf3display_widget Tff7b72= Te6edf3parse_lineTb4b4b4(Te6edf3lineTb4b4b4, Te6edf3stateTb4b4b4)
Tff7b72elseTb4b4b4:
Te6edf3display_widget Tff7b72= Te6edf3urwidTff7b72.Td2a8ffTextTb4b4b4(Ta5d6ff"Ta5d6ff"Tb4b4b4)
Tff7b72if Te6edf3display_widget Tff7b72!= Tff7b72NoneTb4b4b4:
Te6edf3attrmap Tff7b72= Te6edf3urwidTff7b72.Td2a8ffAttrMapTb4b4b4(Te6edf3display_widgetTb4b4b4, Te6edf3make_styleTb4b4b4(Te6edf3stateTb4b4b4)Tb4b4b4)
Te6edf3attrmapsTff7b72.Td2a8ffappendTb4b4b4(Te6edf3attrmapTb4b4b4)

Tff7b72return Te6edf3attrmaps


Tff7b72def Td2a8ffparse_lineTb4b4b4(Te6edf3lineTb4b4b4, Te6edf3stateTb4b4b4)Tb4b4b4:
Tff7b72if Tffa657lenTb4b4b4(Te6edf3lineTb4b4b4) Tff7b72> T79c0ff0Tb4b4b4:
Te6edf3first_char Tff7b72= Te6edf3lineTb4b4b4[T79c0ff0Tb4b4b4]

T8b949e# Check for literals
Tff7b72if Tffa657lenTb4b4b4(Te6edf3lineTb4b4b4) Tff7b72== T79c0ff2 Tff7b72and Te6edf3line Tff7b72== Ta5d6ff"Ta5d6ff`=Ta5d6ff"Tb4b4b4:
Te6edf3stateTb4b4b4[Ta5d6ff"Ta5d6ffliteralTa5d6ff"Tb4b4b4] Tff7b72^Tff7b72= Tff7b72True
Tff7b72return Tff7b72None

T8b949e# Only parse content if not in literal state
Tff7b72if Tff7b72not Te6edf3stateTb4b4b4[Ta5d6ff"Ta5d6ffliteralTa5d6ff"Tb4b4b4]Tb4b4b4:
T8b949e# Check if the command is an escape
Tff7b72if Te6edf3first_char Tff7b72== Ta5d6ff"Tffea00\\Ta5d6ff"Tb4b4b4:
Te6edf3line Tff7b72= Te6edf3lineTb4b4b4[T79c0ff1Tb4b4b4:Tb4b4b4]

T8b949e# Check for section heading reset
Tff7b72elif Te6edf3first_char Tff7b72== Ta5d6ff"Ta5d6ff<Ta5d6ff"Tb4b4b4:
Te6edf3stateTb4b4b4[Ta5d6ff"Ta5d6ffdepthTa5d6ff"Tb4b4b4] Tff7b72= T79c0ff0
Tff7b72return Te6edf3parse_lineTb4b4b4(Te6edf3lineTb4b4b4[T79c0ff1Tb4b4b4:Tb4b4b4]Tb4b4b4, Te6edf3stateTb4b4b4)

T8b949e# Check for section headings
Tff7b72elif Te6edf3first_char Tff7b72== Ta5d6ff"Ta5d6ff>Ta5d6ff"Tb4b4b4:
Te6edf3i Tff7b72= T79c0ff0
Tff7b72while Te6edf3i Tff7b72< Tffa657lenTb4b4b4(Te6edf3lineTb4b4b4) Tff7b72and Te6edf3lineTb4b4b4[Te6edf3iTb4b4b4] Tff7b72== Ta5d6ff"Ta5d6ff>Ta5d6ff"Tb4b4b4:
Te6edf3i Tff7b72+Tff7b72= T79c0ff1
Te6edf3stateTb4b4b4[Ta5d6ff"Ta5d6ffdepthTa5d6ff"Tb4b4b4] Tff7b72= Te6edf3i
Tff7b72for Te6edf3j Tff7b72in Tffa657rangeTb4b4b4(T79c0ff1Tb4b4b4, Te6edf3iTff7b72+T79c0ff1Tb4b4b4)Tb4b4b4:
Te6edf3wanted_style Tff7b72= Ta5d6ff"Ta5d6ffheadingTa5d6ff"Tff7b72+Tffa657strTb4b4b4(Te6edf3iTb4b4b4)
Tff7b72if Te6edf3wanted_style Tff7b72in Te6edf3STYLESTb4b4b4:
Te6edf3style Tff7b72= Te6edf3STYLESTb4b4b4[Te6edf3wanted_styleTb4b4b4]

Te6edf3line Tff7b72= Te6edf3lineTb4b4b4[Te6edf3stateTb4b4b4[Ta5d6ff"Ta5d6ffdepthTa5d6ff"Tb4b4b4]Tb4b4b4:Tb4b4b4]
Tff7b72if Tffa657lenTb4b4b4(Te6edf3lineTb4b4b4) Tff7b72> T79c0ff0Tb4b4b4:
Te6edf3latched_style Tff7b72= Te6edf3state_to_styleTb4b4b4(Te6edf3stateTb4b4b4)
Te6edf3style_to_stateTb4b4b4(Te6edf3styleTb4b4b4, Te6edf3stateTb4b4b4)

Te6edf3heading_style Tff7b72= Te6edf3make_styleTb4b4b4(Te6edf3stateTb4b4b4)
Te6edf3output Tff7b72= Te6edf3make_outputTb4b4b4(Te6edf3stateTb4b4b4, Te6edf3lineTb4b4b4)
Te6edf3style_to_stateTb4b4b4(Te6edf3latched_styleTb4b4b4, Te6edf3stateTb4b4b4)

Tff7b72if Tffa657lenTb4b4b4(Te6edf3outputTb4b4b4) Tff7b72> T79c0ff0Tb4b4b4:
Te6edf3first_style Tff7b72= Te6edf3outputTb4b4b4[T79c0ff0Tb4b4b4]Tb4b4b4[T79c0ff0Tb4b4b4]

Te6edf3heading_style Tff7b72= Te6edf3first_style
Te6edf3outputTff7b72.Td2a8ffinsertTb4b4b4(T79c0ff0Tb4b4b4, Ta5d6ff"Ta5d6ff Ta5d6ff"Tff7b72*Te6edf3left_indentTb4b4b4(Te6edf3stateTb4b4b4)Tb4b4b4)
Tff7b72return Te6edf3urwidTff7b72.Td2a8ffAttrMapTb4b4b4(Te6edf3urwidTff7b72.Td2a8ffTextTb4b4b4(Te6edf3outputTb4b4b4, Te6edf3alignTff7b72=Te6edf3stateTb4b4b4[Ta5d6ff"Ta5d6ffalignTa5d6ff"Tb4b4b4]Tb4b4b4)Tb4b4b4, Te6edf3heading_styleTb4b4b4)
Tff7b72elseTb4b4b4:
Tff7b72return Tff7b72None
Tff7b72elseTb4b4b4:
Tff7b72return Tff7b72None

T8b949e# Check for horizontal dividers
Tff7b72elif Te6edf3first_char Tff7b72== Ta5d6ff"Ta5d6ff-Ta5d6ff"Tb4b4b4:
Tff7b72if Tffa657lenTb4b4b4(Te6edf3lineTb4b4b4) Tff7b72== T79c0ff2Tb4b4b4:
Te6edf3divider_char Tff7b72= Te6edf3lineTb4b4b4[T79c0ff1Tb4b4b4]
Tff7b72elseTb4b4b4:
Te6edf3divider_char Tff7b72= Ta5d6ff"Tffea00\u2500Ta5d6ff"
Tff7b72if Te6edf3stateTb4b4b4[Ta5d6ff"Ta5d6ffdepthTa5d6ff"Tb4b4b4] Tff7b72== T79c0ff0Tb4b4b4:
Tff7b72return Te6edf3urwidTff7b72.Td2a8ffDividerTb4b4b4(Te6edf3divider_charTb4b4b4)
Tff7b72elseTb4b4b4:
Tff7b72return Te6edf3urwidTff7b72.Td2a8ffPaddingTb4b4b4(Te6edf3urwidTff7b72.Td2a8ffDividerTb4b4b4(Te6edf3divider_charTb4b4b4)Tb4b4b4, Te6edf3leftTff7b72=Te6edf3left_indentTb4b4b4(Te6edf3stateTb4b4b4)Tb4b4b4, Te6edf3rightTff7b72=Te6edf3right_indentTb4b4b4(Te6edf3stateTb4b4b4)Tb4b4b4)

Te6edf3output Tff7b72= Te6edf3make_outputTb4b4b4(Te6edf3stateTb4b4b4, Te6edf3lineTb4b4b4)

Tff7b72if Te6edf3output Tff7b72!= Tff7b72NoneTb4b4b4:
Tff7b72if Te6edf3stateTb4b4b4[Ta5d6ff"Ta5d6ffdepthTa5d6ff"Tb4b4b4] Tff7b72== T79c0ff0Tb4b4b4:
Tff7b72return Te6edf3urwidTff7b72.Td2a8ffTextTb4b4b4(Te6edf3outputTb4b4b4, Te6edf3alignTff7b72=Te6edf3stateTb4b4b4[Ta5d6ff"Ta5d6ffalignTa5d6ff"Tb4b4b4]Tb4b4b4)
Tff7b72elseTb4b4b4:
Tff7b72return Te6edf3urwidTff7b72.Td2a8ffPaddingTb4b4b4(Te6edf3urwidTff7b72.Td2a8ffTextTb4b4b4(Te6edf3outputTb4b4b4, Te6edf3alignTff7b72=Te6edf3stateTb4b4b4[Ta5d6ff"Ta5d6ffalignTa5d6ff"Tb4b4b4]Tb4b4b4)Tb4b4b4, Te6edf3leftTff7b72=Te6edf3left_indentTb4b4b4(Te6edf3stateTb4b4b4)Tb4b4b4, Te6edf3rightTff7b72=Te6edf3right_indentTb4b4b4(Te6edf3stateTb4b4b4)Tb4b4b4)
Tff7b72elseTb4b4b4:
Tff7b72return Tff7b72None
Tff7b72elseTb4b4b4:
Tff7b72return Tff7b72None

Tff7b72def Td2a8ffleft_indentTb4b4b4(Te6edf3stateTb4b4b4)Tb4b4b4:
Tff7b72return Tb4b4b4(Te6edf3stateTb4b4b4[Ta5d6ff"Ta5d6ffdepthTa5d6ff"Tb4b4b4]Tff7b72-T79c0ff1Tb4b4b4)Tff7b72*Te6edf3SECTION_INDENT

Tff7b72def Td2a8ffright_indentTb4b4b4(Te6edf3stateTb4b4b4)Tb4b4b4:
Tff7b72return Tb4b4b4(Te6edf3stateTb4b4b4[Ta5d6ff"Ta5d6ffdepthTa5d6ff"Tb4b4b4]Tff7b72-T79c0ff1Tb4b4b4)Tff7b72*Te6edf3SECTION_INDENT

Tff7b72def Td2a8ffmake_partTb4b4b4(Te6edf3stateTb4b4b4, Te6edf3partTb4b4b4)Tb4b4b4:
Tff7b72return Tb4b4b4(Te6edf3make_styleTb4b4b4(Te6edf3stateTb4b4b4)Tb4b4b4, Te6edf3partTb4b4b4)

Tff7b72def Td2a8ffstate_to_styleTb4b4b4(Te6edf3stateTb4b4b4)Tb4b4b4:
Tff7b72return Tb4b4b4{ Ta5d6ff"Ta5d6fffgTa5d6ff"Tb4b4b4: Te6edf3stateTb4b4b4[Ta5d6ff"Ta5d6fffg_colorTa5d6ff"Tb4b4b4]Tb4b4b4, Ta5d6ff"Ta5d6ffbgTa5d6ff"Tb4b4b4: Te6edf3stateTb4b4b4[Ta5d6ff"Ta5d6ffbg_colorTa5d6ff"Tb4b4b4]Tb4b4b4, Ta5d6ff"Ta5d6ffboldTa5d6ff"Tb4b4b4: Te6edf3stateTb4b4b4[Ta5d6ff"Ta5d6ffformattingTa5d6ff"Tb4b4b4]Tb4b4b4[Ta5d6ff"Ta5d6ffboldTa5d6ff"Tb4b4b4]Tb4b4b4, Ta5d6ff"Ta5d6ffunderlineTa5d6ff"Tb4b4b4: Te6edf3stateTb4b4b4[Ta5d6ff"Ta5d6ffformattingTa5d6ff"Tb4b4b4]Tb4b4b4[Ta5d6ff"Ta5d6ffunderlineTa5d6ff"Tb4b4b4]Tb4b4b4, Ta5d6ff"Ta5d6ffitalicTa5d6ff"Tb4b4b4: Te6edf3stateTb4b4b4[Ta5d6ff"Ta5d6ffformattingTa5d6ff"Tb4b4b4]Tb4b4b4[Ta5d6ff"Ta5d6ffitalicTa5d6ff"Tb4b4b4] Tb4b4b4}

Tff7b72def Td2a8ffstyle_to_stateTb4b4b4(Te6edf3styleTb4b4b4, Te6edf3stateTb4b4b4)Tb4b4b4:
Tff7b72if Te6edf3styleTb4b4b4[Ta5d6ff"Ta5d6fffgTa5d6ff"Tb4b4b4] Tff7b72!= Tff7b72NoneTb4b4b4:
Te6edf3stateTb4b4b4[Ta5d6ff"Ta5d6fffg_colorTa5d6ff"Tb4b4b4] Tff7b72= Te6edf3styleTb4b4b4[Ta5d6ff"Ta5d6fffgTa5d6ff"Tb4b4b4]
Tff7b72if Te6edf3styleTb4b4b4[Ta5d6ff"Ta5d6ffbgTa5d6ff"Tb4b4b4] Tff7b72!= Tff7b72NoneTb4b4b4:
Te6edf3stateTb4b4b4[Ta5d6ff"Ta5d6ffbg_colorTa5d6ff"Tb4b4b4] Tff7b72= Te6edf3styleTb4b4b4[Ta5d6ff"Ta5d6ffbgTa5d6ff"Tb4b4b4]
Tff7b72if Te6edf3styleTb4b4b4[Ta5d6ff"Ta5d6ffboldTa5d6ff"Tb4b4b4] Tff7b72!= Tff7b72NoneTb4b4b4:
Te6edf3stateTb4b4b4[Ta5d6ff"Ta5d6ffformattingTa5d6ff"Tb4b4b4]Tb4b4b4[Ta5d6ff"Ta5d6ffboldTa5d6ff"Tb4b4b4] Tff7b72= Te6edf3styleTb4b4b4[Ta5d6ff"Ta5d6ffboldTa5d6ff"Tb4b4b4]
Tff7b72if Te6edf3styleTb4b4b4[Ta5d6ff"Ta5d6ffunderlineTa5d6ff"Tb4b4b4] Tff7b72!= Tff7b72NoneTb4b4b4:
Te6edf3stateTb4b4b4[Ta5d6ff"Ta5d6ffformattingTa5d6ff"Tb4b4b4]Tb4b4b4[Ta5d6ff"Ta5d6ffunderlineTa5d6ff"Tb4b4b4] Tff7b72= Te6edf3styleTb4b4b4[Ta5d6ff"Ta5d6ffunderlineTa5d6ff"Tb4b4b4]
Tff7b72if Te6edf3styleTb4b4b4[Ta5d6ff"Ta5d6ffitalicTa5d6ff"Tb4b4b4] Tff7b72!= Tff7b72NoneTb4b4b4:
Te6edf3stateTb4b4b4[Ta5d6ff"Ta5d6ffformattingTa5d6ff"Tb4b4b4]Tb4b4b4[Ta5d6ff"Ta5d6ffitalicTa5d6ff"Tb4b4b4] Tff7b72= Te6edf3styleTb4b4b4[Ta5d6ff"Ta5d6ffitalicTa5d6ff"Tb4b4b4]

Tff7b72def Td2a8ffmake_styleTb4b4b4(Te6edf3stateTb4b4b4)Tb4b4b4:
Tff7b72def Td2a8ffmono_colorTb4b4b4(Te6edf3fgTb4b4b4, Te6edf3bgTb4b4b4)Tb4b4b4:
Tff7b72return Ta5d6ff"Ta5d6ffdefaultTa5d6ff"
Tff7b72def Td2a8fflow_colorTb4b4b4(Te6edf3colorTb4b4b4)Tb4b4b4:
T8b949e# TODO: Implement
Tff7b72return Ta5d6ff"Ta5d6ffdefaultTa5d6ff"
Tff7b72def Td2a8ffhigh_colorTb4b4b4(Te6edf3colorTb4b4b4)Tb4b4b4:
Tff7b72if Te6edf3color Tff7b72== Ta5d6ff"Ta5d6ffdefaultTa5d6ff"Tb4b4b4:
Tff7b72return Te6edf3color
Tff7b72elseTb4b4b4:
Tff7b72return Ta5d6ff"Ta5d6ff#Ta5d6ff"Tff7b72+Te6edf3color

Te6edf3bold Tff7b72= Te6edf3stateTb4b4b4[Ta5d6ff"Ta5d6ffformattingTa5d6ff"Tb4b4b4]Tb4b4b4[Ta5d6ff"Ta5d6ffboldTa5d6ff"Tb4b4b4]
Te6edf3underline Tff7b72= Te6edf3stateTb4b4b4[Ta5d6ff"Ta5d6ffformattingTa5d6ff"Tb4b4b4]Tb4b4b4[Ta5d6ff"Ta5d6ffunderlineTa5d6ff"Tb4b4b4]
Te6edf3italic Tff7b72= Te6edf3stateTb4b4b4[Ta5d6ff"Ta5d6ffformattingTa5d6ff"Tb4b4b4]Tb4b4b4[Ta5d6ff"Ta5d6ffitalicTa5d6ff"Tb4b4b4]
Te6edf3fg Tff7b72= Te6edf3stateTb4b4b4[Ta5d6ff"Ta5d6fffg_colorTa5d6ff"Tb4b4b4]
Te6edf3bg Tff7b72= Te6edf3stateTb4b4b4[Ta5d6ff"Ta5d6ffbg_colorTa5d6ff"Tb4b4b4]

Te6edf3format_string Tff7b72= Ta5d6ff"Ta5d6ff"
Tff7b72if Te6edf3boldTb4b4b4:
Te6edf3format_string Tff7b72+Tff7b72= Ta5d6ff"Ta5d6ff,boldTa5d6ff"
Tff7b72if Te6edf3underlineTb4b4b4:
Te6edf3format_string Tff7b72+Tff7b72= Ta5d6ff"Ta5d6ff,underlineTa5d6ff"
Tff7b72if Te6edf3italicTb4b4b4:
Te6edf3format_string Tff7b72+Tff7b72= Ta5d6ff"Ta5d6ff,italicsTa5d6ff"

Te6edf3name Tff7b72= Ta5d6ff"Ta5d6ffmicron_Ta5d6ff"Tff7b72+Te6edf3fgTff7b72+Ta5d6ff"Ta5d6ff_Ta5d6ff"Tff7b72+Te6edf3bgTff7b72+Ta5d6ff"Ta5d6ff_Ta5d6ff"Tff7b72+Te6edf3format_string
Tff7b72if Tff7b72not Te6edf3name Tff7b72in Te6edf3SYNTH_STYLESTb4b4b4:
Te6edf3screen Tff7b72= Te6edf3nomadnetTff7b72.Td2a8ffNomadNetworkAppTff7b72.Td2a8ffget_shared_instanceTb4b4b4(Tb4b4b4)Tff7b72.Td2a8ffuiTff7b72.Td2a8ffscreen
Te6edf3screenTff7b72.Td2a8ffregister_palette_entryTb4b4b4(Te6edf3nameTb4b4b4, Te6edf3low_colorTb4b4b4(Te6edf3fgTb4b4b4)Tff7b72+Te6edf3format_stringTb4b4b4,Te6edf3low_colorTb4b4b4(Te6edf3bgTb4b4b4)Tb4b4b4,Te6edf3mono_colorTb4b4b4(Te6edf3fgTb4b4b4, Te6edf3bgTb4b4b4)Tff7b72+Te6edf3format_stringTb4b4b4,Te6edf3high_colorTb4b4b4(Te6edf3fgTb4b4b4)Tff7b72+Te6edf3format_stringTb4b4b4,Te6edf3high_colorTb4b4b4(Te6edf3bgTb4b4b4)Tb4b4b4)
Te6edf3SYNTH_STYLESTff7b72.Td2a8ffappendTb4b4b4(Te6edf3nameTb4b4b4)

Tff7b72return Te6edf3name

Tff7b72def Td2a8ffmake_outputTb4b4b4(Te6edf3stateTb4b4b4, Te6edf3lineTb4b4b4)Tb4b4b4:
Te6edf3output Tff7b72= Tb4b4b4[Tb4b4b4]
Tff7b72if Te6edf3stateTb4b4b4[Ta5d6ff"Ta5d6ffliteralTa5d6ff"Tb4b4b4]Tb4b4b4:
Tff7b72if Te6edf3line Tff7b72== Ta5d6ff"Tffea00\\Ta5d6ff`=Ta5d6ff"Tb4b4b4:
Te6edf3line Tff7b72= Ta5d6ff"Ta5d6ff`=Ta5d6ff"
Te6edf3outputTff7b72.Td2a8ffappendTb4b4b4(Te6edf3make_partTb4b4b4(Te6edf3stateTb4b4b4, Te6edf3lineTb4b4b4)Tb4b4b4)
Tff7b72elseTb4b4b4:
Te6edf3part Tff7b72= Ta5d6ff"Ta5d6ff"
Te6edf3mode Tff7b72= Ta5d6ff"Ta5d6fftextTa5d6ff"
Te6edf3escape Tff7b72= Tff7b72False
Te6edf3skip Tff7b72= T79c0ff0
Tff7b72for Te6edf3i Tff7b72in Tffa657rangeTb4b4b4(T79c0ff0Tb4b4b4, Tffa657lenTb4b4b4(Te6edf3lineTb4b4b4)Tb4b4b4)Tb4b4b4:
Te6edf3c Tff7b72= Te6edf3lineTb4b4b4[Te6edf3iTb4b4b4]
Tff7b72if Te6edf3skip Tff7b72> T79c0ff0Tb4b4b4:
Te6edf3skip Tff7b72-Tff7b72= T79c0ff1
Tff7b72elseTb4b4b4:
Tff7b72if Te6edf3mode Tff7b72== Ta5d6ff"Ta5d6ffformattingTa5d6ff"Tb4b4b4:
Tff7b72if Te6edf3c Tff7b72== Ta5d6ff"Ta5d6ff_Ta5d6ff"Tb4b4b4:
Te6edf3stateTb4b4b4[Ta5d6ff"Ta5d6ffformattingTa5d6ff"Tb4b4b4]Tb4b4b4[Ta5d6ff"Ta5d6ffunderlineTa5d6ff"Tb4b4b4] Tff7b72^Tff7b72= Tff7b72True
Tff7b72elif Te6edf3c Tff7b72== Ta5d6ff"Ta5d6ff!Ta5d6ff"Tb4b4b4:
Te6edf3stateTb4b4b4[Ta5d6ff"Ta5d6ffformattingTa5d6ff"Tb4b4b4]Tb4b4b4[Ta5d6ff"Ta5d6ffboldTa5d6ff"Tb4b4b4] Tff7b72^Tff7b72= Tff7b72True
Tff7b72elif Te6edf3c Tff7b72== Ta5d6ff"Ta5d6ff*Ta5d6ff"Tb4b4b4:
Te6edf3stateTb4b4b4[Ta5d6ff"Ta5d6ffformattingTa5d6ff"Tb4b4b4]Tb4b4b4[Ta5d6ff"Ta5d6ffitalicTa5d6ff"Tb4b4b4] Tff7b72^Tff7b72= Tff7b72True
Tff7b72elif Te6edf3c Tff7b72== Ta5d6ff"Ta5d6ffFTa5d6ff"Tb4b4b4:
Tff7b72if Tffa657lenTb4b4b4(Te6edf3lineTb4b4b4) Tff7b72>Tff7b72= Te6edf3iTff7b72+T79c0ff4Tb4b4b4:
Te6edf3color Tff7b72= Te6edf3lineTb4b4b4[Te6edf3iTff7b72+T79c0ff1Tb4b4b4:Te6edf3iTff7b72+T79c0ff4Tb4b4b4]
Te6edf3stateTb4b4b4[Ta5d6ff"Ta5d6fffg_colorTa5d6ff"Tb4b4b4] Tff7b72= Te6edf3color
Te6edf3skip Tff7b72= T79c0ff3
Tff7b72elif Te6edf3c Tff7b72== Ta5d6ff"Ta5d6fffTa5d6ff"Tb4b4b4:
Te6edf3stateTb4b4b4[Ta5d6ff"Ta5d6fffg_colorTa5d6ff"Tb4b4b4] Tff7b72= Ta5d6ff"Ta5d6ffdefaultTa5d6ff"
Tff7b72elif Te6edf3c Tff7b72== Ta5d6ff"Ta5d6ffBTa5d6ff"Tb4b4b4:
Tff7b72if Tffa657lenTb4b4b4(Te6edf3lineTb4b4b4) Tff7b72>Tff7b72= Te6edf3iTff7b72+T79c0ff4Tb4b4b4:
Te6edf3color Tff7b72= Te6edf3lineTb4b4b4[Te6edf3iTff7b72+T79c0ff1Tb4b4b4:Te6edf3iTff7b72+T79c0ff4Tb4b4b4]
Te6edf3stateTb4b4b4[Ta5d6ff"Ta5d6ffbg_colorTa5d6ff"Tb4b4b4] Tff7b72= Te6edf3color
Te6edf3skip Tff7b72= T79c0ff3
Tff7b72elif Te6edf3c Tff7b72== Ta5d6ff"Ta5d6ffbTa5d6ff"Tb4b4b4:
Te6edf3stateTb4b4b4[Ta5d6ff"Ta5d6ffbg_colorTa5d6ff"Tb4b4b4] Tff7b72= Ta5d6ff"Ta5d6ffdefaultTa5d6ff"
Tff7b72elif Te6edf3c Tff7b72== Ta5d6ff"Ta5d6ff`Ta5d6ff"Tb4b4b4:
Te6edf3stateTb4b4b4[Ta5d6ff"Ta5d6ffformattingTa5d6ff"Tb4b4b4]Tb4b4b4[Ta5d6ff"Ta5d6ffboldTa5d6ff"Tb4b4b4] Tff7b72= Tff7b72False
Te6edf3stateTb4b4b4[Ta5d6ff"Ta5d6ffformattingTa5d6ff"Tb4b4b4]Tb4b4b4[Ta5d6ff"Ta5d6ffunderlineTa5d6ff"Tb4b4b4] Tff7b72= Tff7b72False
Te6edf3stateTb4b4b4[Ta5d6ff"Ta5d6ffformattingTa5d6ff"Tb4b4b4]Tb4b4b4[Ta5d6ff"Ta5d6ffitalicTa5d6ff"Tb4b4b4] Tff7b72= Tff7b72False
Te6edf3stateTb4b4b4[Ta5d6ff"Ta5d6fffg_colorTa5d6ff"Tb4b4b4] Tff7b72= Ta5d6ff"Ta5d6ffdefaultTa5d6ff"
Te6edf3stateTb4b4b4[Ta5d6ff"Ta5d6ffbg_colorTa5d6ff"Tb4b4b4] Tff7b72= Ta5d6ff"Ta5d6ffdefaultTa5d6ff"
Te6edf3stateTb4b4b4[Ta5d6ff"Ta5d6ffalignTa5d6ff"Tb4b4b4] Tff7b72= Te6edf3stateTb4b4b4[Ta5d6ff"Ta5d6ffdefault_alignTa5d6ff"Tb4b4b4]
Tff7b72elif Te6edf3c Tff7b72== Ta5d6ff"Ta5d6ffcTa5d6ff"Tb4b4b4:
Tff7b72if Te6edf3stateTb4b4b4[Ta5d6ff"Ta5d6ffalignTa5d6ff"Tb4b4b4] Tff7b72!= Ta5d6ff"Ta5d6ffcenterTa5d6ff"Tb4b4b4:
Te6edf3stateTb4b4b4[Ta5d6ff"Ta5d6ffalignTa5d6ff"Tb4b4b4] Tff7b72= Ta5d6ff"Ta5d6ffcenterTa5d6ff"
Tff7b72elseTb4b4b4:
Te6edf3stateTb4b4b4[Ta5d6ff"Ta5d6ffalignTa5d6ff"Tb4b4b4] Tff7b72= Te6edf3stateTb4b4b4[Ta5d6ff"Ta5d6ffdefault_alignTa5d6ff"Tb4b4b4]
Tff7b72elif Te6edf3c Tff7b72== Ta5d6ff"Ta5d6fflTa5d6ff"Tb4b4b4:
Tff7b72if Te6edf3stateTb4b4b4[Ta5d6ff"Ta5d6ffalignTa5d6ff"Tb4b4b4] Tff7b72!= Ta5d6ff"Ta5d6ffleftTa5d6ff"Tb4b4b4:
Te6edf3stateTb4b4b4[Ta5d6ff"Ta5d6ffalignTa5d6ff"Tb4b4b4] Tff7b72= Ta5d6ff"Ta5d6ffleftTa5d6ff"
Tff7b72elseTb4b4b4:
Te6edf3stateTb4b4b4[Ta5d6ff"Ta5d6ffalignTa5d6ff"Tb4b4b4] Tff7b72= Te6edf3stateTb4b4b4[Ta5d6ff"Ta5d6ffdefault_alignTa5d6ff"Tb4b4b4]
Tff7b72elif Te6edf3c Tff7b72== Ta5d6ff"Ta5d6ffrTa5d6ff"Tb4b4b4:
Tff7b72if Te6edf3stateTb4b4b4[Ta5d6ff"Ta5d6ffalignTa5d6ff"Tb4b4b4] Tff7b72!= Ta5d6ff"Ta5d6ffrightTa5d6ff"Tb4b4b4:
Te6edf3stateTb4b4b4[Ta5d6ff"Ta5d6ffalignTa5d6ff"Tb4b4b4] Tff7b72= Ta5d6ff"Ta5d6ffrightTa5d6ff"
Tff7b72elseTb4b4b4:
Te6edf3stateTb4b4b4[Ta5d6ff"Ta5d6ffalignTa5d6ff"Tb4b4b4] Tff7b72= Te6edf3stateTb4b4b4[Ta5d6ff"Ta5d6ffdefault_alignTa5d6ff"Tb4b4b4]
Tff7b72elif Te6edf3c Tff7b72== Ta5d6ff"Ta5d6ffaTa5d6ff"Tb4b4b4:
Te6edf3stateTb4b4b4[Ta5d6ff"Ta5d6ffalignTa5d6ff"Tb4b4b4] Tff7b72= Te6edf3stateTb4b4b4[Ta5d6ff"Ta5d6ffdefault_alignTa5d6ff"Tb4b4b4]

Te6edf3mode Tff7b72= Ta5d6ff"Ta5d6fftextTa5d6ff"
Tff7b72if Tffa657lenTb4b4b4(Te6edf3partTb4b4b4) Tff7b72> T79c0ff0Tb4b4b4:
Te6edf3outputTff7b72.Td2a8ffappendTb4b4b4(Te6edf3make_partTb4b4b4(Te6edf3stateTb4b4b4, Te6edf3partTb4b4b4)Tb4b4b4)

Tff7b72elif Te6edf3mode Tff7b72== Ta5d6ff"Ta5d6fftextTa5d6ff"Tb4b4b4:
Tff7b72if Te6edf3c Tff7b72== Ta5d6ff"Tffea00\\Ta5d6ff"Tb4b4b4:
Te6edf3escape Tff7b72= Tff7b72True
Tff7b72elif Te6edf3c Tff7b72== Ta5d6ff"Ta5d6ff`Ta5d6ff"Tb4b4b4:
Tff7b72if Te6edf3escapeTb4b4b4:
Te6edf3part Tff7b72+Tff7b72= Te6edf3c
Te6edf3escape Tff7b72= Tff7b72False
Tff7b72elseTb4b4b4:
Te6edf3mode Tff7b72= Ta5d6ff"Ta5d6ffformattingTa5d6ff"
Tff7b72if Tffa657lenTb4b4b4(Te6edf3partTb4b4b4) Tff7b72> T79c0ff0Tb4b4b4:
Te6edf3outputTff7b72.Td2a8ffappendTb4b4b4(Te6edf3make_partTb4b4b4(Te6edf3stateTb4b4b4, Te6edf3partTb4b4b4)Tb4b4b4)
Te6edf3part Tff7b72= Ta5d6ff"Ta5d6ff"
Tff7b72elseTb4b4b4:
Te6edf3part Tff7b72+Tff7b72= Te6edf3c

Tff7b72if Te6edf3i Tff7b72== Tffa657lenTb4b4b4(Te6edf3lineTb4b4b4)Tff7b72-T79c0ff1Tb4b4b4:
Tff7b72if Tffa657lenTb4b4b4(Te6edf3partTb4b4b4) Tff7b72> T79c0ff0Tb4b4b4:
Te6edf3outputTff7b72.Td2a8ffappendTb4b4b4(Te6edf3make_partTb4b4b4(Te6edf3stateTb4b4b4, Te6edf3partTb4b4b4)Tb4b4b4)

Tff7b72if Tffa657lenTb4b4b4(Te6edf3outputTb4b4b4) Tff7b72> T79c0ff0Tb4b4b4:
Tff7b72return Te6edf3output
Tff7b72elseTb4b4b4:
Tff7b72return Tff7b72None


──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────